package com.celesea.auth.core.dao;

import com.celesea.auth.core.entity.BaseEntity;
import com.celesea.auth.core.util.Filter;
import com.celesea.auth.core.util.Sort;
import com.github.pagehelper.Page;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.condition.SelectByConditionMapper;
import tk.mybatis.mapper.common.condition.UpdateByConditionMapper;
import tk.mybatis.mapper.common.example.UpdateByExampleMapper;
import tk.mybatis.mapper.common.rowbounds.SelectByConditionRowBoundsMapper;

public interface BaseDao<T extends BaseEntity> extends
        Mapper<T>,
        UpdateByConditionMapper<T>,
        UpdateByExampleMapper<T>,
        SelectByConditionMapper<T>,
        SelectByConditionRowBoundsMapper<T> {

    Page<T> selectPage(Filter filter, com.celesea.auth.core.util.Page page, Sort sort);

}